Communication endpoints, such as fixed telephones and mobile handsets, can use the Session Initiation Protocol (SIP) to assist in establishing communications with other endpoints. SIP is a signaling protocol for establishing and controlling communication sessions. For example, voice and video over Internet protocol can use SIP to facilitate these communications. The SIP protocol controls how the communication sessions are set up and terminated. SIP works with other protocols to identify and establish the sessions, such as the Session Description Protocol (SDP), which helps to identify and negotiate which codec(s) are used for the session, among other things.
SDP can be used for negotiating between endpoints a number of session parameters, such as media type and which codec is preferred to use. A codec (coder/decoder) can be used for audio or video communications and typically is an algorithm used to encode an audio signal into a digital stream for communication over a network and to decode the digital stream back to audio for presentation at the receiver.
Endpoints can be IP based wireless or wireline handsets, for example. Further, different handsets or network elements can have different codec capabilities which results in transcoding between various voice and video codecs. Transcoders can be used to perform this function, and can be located at the core or edge of a network.
In typical network setups, transcoding systems receive a list of codecs available to an endpoint and the transcoder can either generate its own static list or pass the received list transparently in the outgoing offer. Such static lists can be based on such things as the incoming customer trunk group or the outgoing provider/vendor trunk group. However, the incoming offers can vary, including due to different types of handsets and radio conditions. Typical transcoders can cause unnecessary or inefficient transcoding. Transcoding codecs can create issues as to processing requirements and voice quality.